#ifndef _INCLUDE_BASE64CODEC_H_
#define _INCLUDE_BASE64CODEC_H_

#include <string>

namespace tinkle{
	class BASE64Codec
	{
	public:
		std::string Encode(const std::string& str) const;
		std::string Decode(const std::string& str) const;	
		
		//use this to retrive a BASE64Codec class instance.
		static const BASE64Codec* Codec();

	protected:
		BASE64Codec() {};
		~BASE64Codec() {};		
		static BASE64Codec* _instance;
	};
}
// todo : delee _instance when the process stop
#endif